Presence systems, such as Instant Messaging systems, provide relatively basic information to network clients concerning the presence status of related users, such as those on the network clients' buddy lists. In typical operation, a presence status of each user is determined and that information is distributed to those who are watching the corresponding user.
Even in Internet Protocol (IP) telephone networks, presence status is typically determined using relatively basic presence indications. These include, for example, detection of whether the user is logged on, detection of keyboard activity, detection of whether a desk phone is in use or in a do-not-disturb mode, detection of Instant Messaging activity, or detection of a manual presence setting. Consequently, errors or inaccuracies in presence reporting are relatively common.
For example, suppose a user left the office for lunch and has manually changed his presence status to reflect this. He then returns, but forgets to change the status and then leaves on a business trip. People who check his status will be informed that he is still unavailable, i.e., out to lunch, when it may in fact be possible to reach him at an alternative location, such as a cell phone.
As such, there is a need for an improved system and method for accurately reporting a user's presence status. There is a further need for a system and method for tracking a user in a presence system.